home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-09-16 | 14.0 KB | 475 lines | [TEXT/CCL2] |
-
- (in-package :traps) ;
- ; Created: Sunday, January 6, 1991 at 10:55 PM
- ; PPCToolBox.p
- ; Pascal Interface to the Macintosh Libraries
- ;
- ; Copyright Apple Computer, Inc. 1989-1990
- ; All rights reserved
- ;
-
- ;;;;;;;;;;;;;
- ;
- ; Modification History
- ;
- ; 04/28/93 mwp Release
- ; 04/17/92 bill Flavors Technology's fixes to _StartSecureSession & _GetDefaultUser
- ;-------------- 2.0
- ; 08/23/91 bill remove bogus return specs in call forms
- ; Take a stab at _deleteuseridentity, _getdefaultuser, & _startsecuresession
-
- ;
-
- ; $IFC UNDEFINED UsingIncludes
- ; $SETC UsingIncludes := 0
- ; $ENDC
-
- ; $IFC NOT UsingIncludes
-
- ; $ENDC
-
- ; $IFC UNDEFINED UsingPPCToolBox
- ; $SETC UsingPPCToolBox := 1
-
- ; $I+
- ; $SETC PPCToolBoxIncludes := UsingIncludes
- ; $SETC UsingIncludes := 1
- ; $IFC UNDEFINED UsingAppleTalk
-
- (require-interface 'APPLETALK) ; $I $$Shell(PInterfaces)AppleTalk.p
- ; $ENDC
- ; $IFC UNDEFINED UsingMemory
-
- (require-interface 'MEMORY) ; $I $$Shell(PInterfaces)Memory.p
- ; $ENDC
- ; $IFC UNDEFINED UsingTypes
-
- (require-interface 'TYPES) ; $I $$Shell(PInterfaces)Types.p
- ; $ENDC
- ; $SETC UsingIncludes := PPCToolBoxIncludes
-
- (def-mactype :ppcservicetype (find-mactype :signed-byte))
-
- ; service Type
- (defconstant $ppcServiceRealTime 1)
-
- (def-mactype :ppclocationkind (find-mactype :signed-integer))
-
- ; lookup Type
- (defconstant $ppcNoLocation 0) ; There is no PPCLocName
- (defconstant $ppcNBPLocation 1) ; Use AppleTalk NBP
- (defconstant $ppcNBPTypeLocation 2); Used for specifying a location name type during PPCOpen only
-
- (def-mactype :ppcportkinds (find-mactype :signed-integer))
-
- ; port Types
-
- (defconstant $ppcByCreatorAndType 1); PortType is specified as colloquial Mac creator and type
- (defconstant $ppcByString 2) ; Port Type is in pascal string format
-
- (def-mactype :ppcsessionorigin (find-mactype :signed-byte)); Values returned for request field in PPCInform call
-
- ; Values returned for requestType field in PPCInform call
- (defconstant $ppcLocalOrigin 1) ; session originated from this machine
- (defconstant $ppcRemoteOrigin 2); session originated from remote machine
-
- (def-mactype :ppcportrefnum (find-mactype :signed-integer))
- (def-mactype :ppcsessrefnum (find-mactype :signed-long))
-
- (def-mactype :ppcportptr (find-mactype :pointer))
- (defrecord PPCPortRec
- (nameScript :signed-integer) ; script of name
- (name (:string 32)) ; name of port as seen in browser
- (portKindSelector :signed-integer); which variant
- (:variant
-
- ((portTypeStr (:string 32)))
-
- ((portCreator :ostype)
- (portType :ostype))
- ))
-
- (def-mactype :locationnameptr (find-mactype :pointer))
- (defrecord LocationNameRec
- (locationKindSelector :signed-integer); which variant
- (:variant
-
- ((nbpEntity :entityname)) ; NBP name entity
-
- ((nbpType (:string 32))) ; just the NBP type string, for PPCOpen
- ))
-
- (def-mactype :portinfoptr (find-mactype :pointer))
- (defrecord PortInfoRec
- (filler1 :signed-byte)
- (authRequired :boolean)
- (name :ppcportrec)
- )
-
- (def-mactype :portinfoarrayptr (find-mactype :pointer))
- (defrecord PortInfoArray (array (array :portinforec 1)))
- (def-mactype :ppcfilterprocptr (find-mactype :pointer))
- ; Procedures you will need to write
- ; ex: void MyCompletionRoutine(PPCParamBlkPtr pb)
- ; ex: pascal Boolean MyPortFilter(LocationNamePtr locationName, PortInfoPtr
- ; thePortInfo)
-
- (def-mactype :ppccompprocptr (find-mactype :pointer))
-
- (def-mactype :ppcopenpbptr (find-mactype :pointer))
- (defrecord PPCOpenPBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5)); reserved
- (portRefNum :signed-integer) ; Port Reference
- (filler1 :signed-long)
- (serviceType :signed-byte)
- (resFlag :signed-byte)
- (portName (:pointer :ppcportrec)); PortName for PPC
- (locationName (:pointer :locationnamerec))
- (networkVisible :boolean)
- (nbpRegistered :boolean)
- )
-
- (def-mactype :ppcinformpbptr (find-mactype :pointer))
- (defrecord PPCInformPBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5))
- (portRefNum :signed-integer)
- (sessRefNum :signed-long)
- (serviceType :signed-byte)
- (autoAccept :boolean)
- (portName (:pointer :ppcportrec))
- (locationName (:pointer :locationnamerec))
- (userName (:pointer (:string 255)))
- (userData :signed-long)
- (requestType :signed-byte)
- )
-
- (def-mactype :ppcstartpbptr (find-mactype :pointer))
- (defrecord PPCStartPBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5))
- (portRefNum :signed-integer)
- (sessRefNum :signed-long)
- (serviceType :signed-byte)
- (resFlag :signed-byte)
- (portName (:pointer :ppcportrec))
- (locationName (:pointer :locationnamerec))
- (rejectInfo :signed-long)
- (userData :signed-long)
- (userRefNum :signed-long)
- )
-
- (def-mactype :ppcacceptpbptr (find-mactype :pointer))
- (defrecord PPCAcceptPBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5))
- (filler1 :signed-integer)
- (sessRefNum :signed-long)
- )
-
- (def-mactype :ppcrejectpbptr (find-mactype :pointer))
- (defrecord PPCRejectPBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5))
- (filler1 :signed-integer)
- (sessRefNum :signed-long)
- (filler2 :signed-integer)
- (filler3 :signed-long)
- (filler4 :signed-long)
- (rejectInfo :signed-long)
- )
-
- (def-mactype :ppcwritepbptr (find-mactype :pointer))
- (defrecord PPCWritePBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5))
- (filler1 :signed-integer)
- (sessRefNum :signed-long)
- (bufferLength :signed-long)
- (actualLength :signed-long)
- (bufferPtr :pointer)
- (more :boolean)
- (filler2 :signed-byte)
- (userData :signed-long)
- (blockCreator :ostype)
- (blockType :ostype)
- )
-
- (def-mactype :ppcreadpbptr (find-mactype :pointer))
- (defrecord PPCReadPBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5))
- (filler1 :signed-integer)
- (sessRefNum :signed-long)
- (bufferLength :signed-long)
- (actualLength :signed-long)
- (bufferPtr :pointer)
- (more :boolean)
- (filler2 :signed-byte)
- (userData :signed-long)
- (blockCreator :ostype)
- (blockType :ostype)
- )
-
- (def-mactype :ppcendpbptr (find-mactype :pointer))
- (defrecord PPCEndPBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5))
- (filler1 :signed-integer)
- (sessRefNum :signed-long)
- )
-
- (def-mactype :ppcclosepbptr (find-mactype :pointer))
- (defrecord PPCClosePBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5))
- (portRefNum :signed-integer)
- )
-
- (def-mactype :ipclistportspbptr (find-mactype :pointer))
- (defrecord IPCListPortsPBRec
- (qLink :pointer)
- (csCode :signed-integer)
- (intUse :signed-integer)
- (intUsePtr :pointer)
- (ioCompletion :pointer)
- (ioResult :signed-integer)
- (reserved (:array :signed-long 5))
- (filler1 :signed-integer)
- (startIndex :signed-integer)
- (requestCount :signed-integer)
- (actualCount :signed-integer)
- (portName (:pointer :ppcportrec))
- (locationName (:pointer :locationnamerec))
- (bufferPtr (:pointer :portinfoarray))
- )
-
- (def-mactype :ppcparamblockptr (find-mactype :pointer))
- (defrecord PPCParamBlockRec
- (:variant
- ((openParam :ppcopenpbrec))
- ((informParam :ppcinformpbrec))
- ((startParam :ppcstartpbrec))
- ((acceptParam :ppcacceptpbrec))
- ((rejectParam :ppcrejectpbrec))
- ((writeParam :ppcwritepbrec))
- ((readParam :ppcreadpbrec))
- ((endParam :ppcendpbrec))
- ((closeParam :ppcclosepbrec))
- ((listPortsParam :ipclistportspbrec))
- ))
-
- ; PPC Calling Conventions
-
- (deftrap _ppcinit nil
- (:d0 :signed-integer)
- (:register-trap #xA0DD :d0 0))
-
- (deftrap _ppcopen ((pb (:pointer :ppcopenpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 1))
-
- (deftrap _ppcopensync ((pb (:pointer :ppcopenpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 1))
-
- (deftrap _ppcopenasync ((pb (:pointer :ppcopenpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 1))
-
- (deftrap _ppcinform ((pb (:pointer :ppcinformpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 3))
-
- (deftrap _ppcinformsync ((pb (:pointer :ppcinformpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 3))
-
- (deftrap _ppcinformasync ((pb (:pointer :ppcinformpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 3))
-
- (deftrap _ppcstart ((pb (:pointer :ppcstartpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 2))
-
- (deftrap _ppcstartsync ((pb (:pointer :ppcstartpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 2))
-
- (deftrap _ppcstartasync ((pb (:pointer :ppcstartpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 2))
-
- (deftrap _ppcaccept ((pb (:pointer :ppcacceptpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 4))
-
- (deftrap _ppcacceptsync ((pb (:pointer :ppcacceptpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 4))
-
- (deftrap _ppcacceptasync ((pb (:pointer :ppcacceptpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 4))
-
- (deftrap _ppcreject ((pb (:pointer :ppcrejectpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 5))
-
- (deftrap _ppcrejectsync ((pb (:pointer :ppcrejectpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 5))
-
- (deftrap _ppcrejectasync ((pb (:pointer :ppcrejectpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 5))
-
- (deftrap _ppcwrite ((pb (:pointer :ppcwritepbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 6))
-
- (deftrap _ppcwritesync ((pb (:pointer :ppcwritepbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 6))
-
- (deftrap _ppcwriteasync ((pb (:pointer :ppcwritepbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 6))
-
- (deftrap _ppcread ((pb (:pointer :ppcreadpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 7))
-
- (deftrap _ppcreadsync ((pb (:pointer :ppcreadpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 7))
-
- (deftrap _ppcreadasync ((pb (:pointer :ppcreadpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 7))
-
- (deftrap _ppcend ((pb (:pointer :ppcendpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 8))
-
- (deftrap _ppcendsync ((pb (:pointer :ppcendpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 8))
-
- (deftrap _ppcendasync ((pb (:pointer :ppcendpbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 8))
-
- (deftrap _ppcclose ((pb (:pointer :ppcclosepbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 9))
-
- (deftrap _ppcclosesync ((pb (:pointer :ppcclosepbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 9))
-
- (deftrap _ppccloseasync ((pb (:pointer :ppcclosepbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 9))
-
- (deftrap _ipclistports ((pb (:pointer :ipclistportspbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 10))
-
- (deftrap _ipclistportssync ((pb (:pointer :ipclistportspbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA0DD :a0 pb :d0 10))
-
- (deftrap _ipclistportsasync ((pb (:pointer :ipclistportspbrec)))
- (:d0 :signed-integer)
- (:register-trap #xA4DD :a0 pb :d0 10))
-
- ; These next three traps are guesses.
- ; The documentation says that A0 points at a <gobblegobble>record, none of
- ; which is defined anywhere.
- (deftrap _deleteuseridentity ((userref :signed-long))
- (:d0 :signed-integer)
- (ccl:rlet ((userrefp :long userref))
- (:register-trap #xA0DD :d0 12 :a0 userrefp)))
-
- (deftrap _getdefaultuser ((userref (:pointer :signed-long)) (username (:pointer (:string 32))))
- (:d0 :signed-integer)
- (ccl::%stack-block ((params 8))
- (%put-ptr params username)
- (%put-ptr params userref 4)
- (:register-trap #xA0DD :d0 13 :a0 params)))
-
- (deftrap _startsecuresession ((pb (:pointer :ppcstartpbrec)) (username (:pointer (:string 32))) (usedefault :boolean) (allowguest :boolean) (guestselected (:pointer :boolean)) (prompt (:string 255)))
- (:d0 :signed-integer)
- (ccl::%stack-block ((params 20))
- (%put-ptr params prompt)
- (%put-ptr params guestselected 4)
- (%put-word params allowguest 8)
- (%put-word params usedefault 10)
- (%put-ptr params username 12)
- (%put-ptr params pb 16)
- (:register-trap #xA0DD :d0 14 :a0 params)))
-
- (deftrap _ppcbrowser ((prompt (:string 255)) (appllistlabel (:string 255)) (defaultspecified :boolean) (thelocation (:pointer :locationnamerec)) (theportinfo (:pointer :portinforec)) (portfilter :pointer) (thelocnbptype (:string 32)))
- (:stack :signed-integer)
- (:stack-trap #xA82B :d0 3328 prompt appllistlabel defaultspecified thelocation theportinfo portfilter thelocnbptype))
-
- ; $ENDC ; UsingPPCToolBox
-
- ; $IFC NOT UsingIncludes
-
- ; $ENDC
-
-
- (export '($ppcremoteorigin $ppclocalorigin $ppcbystring $ppcbycreatorandtype
- $ppcnbptypelocation $ppcnbplocation $ppcnolocation
- $ppcservicerealtime))
- (provide-interface 'PPCTOOLBOX)
-